//
//  LLNetworkingTool.swift
//  IOSWeibo
//
//  Created by 廖灵全 on 16/5/18.
//  Copyright © 2016年 liao. All rights reserved.
//

import UIKit
import AFNetworking
enum RequestMethod : String {
    case GET = "GET"
    case POST = "POST"
}
class LLNetworkingTool: NSObject

//单列
{
    static let sharedInstance : LLNetworkingTool = LLNetworkingTool()
    // 属性AFHttpSessionManager
    // 常量: 后面的代码块可以多做一些操作 private不让外界直接调用
   private let afnManager = AFHTTPSessionManager(baseURL: NSURL(string: ""))
    //如果直接使用AFN的get和post 方法   那么如果AFN改变了方法或者参数，那么项目中所有用到get和post的地方都要改变
    //自己封装get和post
    func request(method : RequestMethod, URLString: String, parameters:AnyObject?,success:((NSURLSessionDataTask, AnyObject?) -> Void)?,failure:((NSURLSessionDataTask?, NSError) -> Void)?){
        // GET和POST需要的参数我们这个方法里面不能确定,只有调用的人传递进来
        
        if method == RequestMethod.GET {
            afnManager.GET(URLString, parameters: parameters, progress: nil,success: success, failure: failure)
        }else{
            afnManager.POST(URLString, parameters: parameters, progress: nil,success: success, failure: failure)
        }
    }
  }
